import Main from '@/components/main'
import parentView from '@/components/parent-view'

/**
 * iview-admin中meta除了原生参数外可配置的参数:
 * meta: {
 *  title: { String|Number|Function }
 *         显示在侧边栏、面包屑和标签栏的文字
 *         使用'{{ 多语言字段 }}'形式结合多语言使用，例子看多语言的路由配置;
 *         可以传入一个回调函数，参数是当前路由对象，例子看动态路由和带参路由
 *  hideInBread: (false) 设为true后此级路由将不会出现在面包屑中，示例看QQ群路由配置
 *  hideInMenu: (false) 设为true后在左侧菜单不会显示该页面选项
 *  notCache: (false) 设为true后页面在切换标签后不会缓存，如果需要缓存，无需设置这个字段，而且需要设置页面组件name属性和路由配置的name一致
 *  access: (null) 可访问该页面的权限数组，当前路由设置的权限会影响子路由
 *  icon: (-) 该页面在左侧菜单、面包屑和标签导航处显示的图标，如果是自定义图标，需要在图标名称前加下划线'_'
 *  beforeCloseName: (-) 设置该字段，则在关闭当前tab页时会去'@/router/before-close.js'里寻找该字段名对应的方法，作为关闭前的钩子函数
 * }
 */

export default [
  {
    path: '/login',
    name: 'login',
    meta: {
      title: 'Login - 登录',
      hideInMenu: true
    },
    component: () => import('@/view/login/login.vue')
  },
  {
    path: '/',
    name: '_home',
    redirect: '/home',
    component: Main,
    meta: {
      hideInMenu: true,
      notCache: true,
      access: ['admin']
    },
    children: [
      {
        path: '/home',
        name: 'home',
        meta: {
          hideInMenu: true,
          title: '交易统计',
          notCache: true,
          icon: 'md-home'
        },
        component: () => import('@/view/statistics/list.vue')
      }
    ]
  },
  // {
  //   path: '/statistics',
  //   name: 'statistics',
  //   meta: {
  //     hideInBread: true
  //   },
  //   component: Main,
  //   children: [
  //     {
  //       path: 'statisticslist',
  //       name: '交易统计',
  //       meta: {
  //         icon: 'md-pie',
  //         title: '交易统计'
  //       },
  //       component: () => import('@/view/statistics/list.vue')
  //     }
  //   ]
  // },
  {
    path: '/user',
    name: 'user',
    meta: {
      hideInBread: true,
      access: ['admin']

    },
    component: Main,
    children: [
      {
        path: 'userlist',
        name: '用户管理',
        meta: {
          icon: 'md-people',
          title: '用户管理'
        },
        component: () => import('@/view/user/list.vue')
      }
    ]
  },
  {
    path: '/shop',
    name: 'shop',
    meta: {
      hideInBread: true,
      access: ['admin']
    },
    component: Main,
    children: [
      {
        path: 'shoplist',
        name: '商家管理',
        meta: {
          icon: 'md-cart',
          title: '商家管理'
        },
        component: () => import('@/view/shop/list.vue')
      }
    ]
  },
  {
    path: '/myShop',
    name: '店铺管理',
    meta: {
      icon: 'md-cart',
      title: '店铺管理',
      access: ['shop']
    },
    component: Main,
    children: [
      {
        path: 'base',
        name: '基本信息',
        meta: {
          icon: 'md-image',
          title: '基本信息'
        },
        component: () => import('@/view/myShop/base.vue')
      },
      {
        path: 'food',
        name: '菜品管理',
        meta: {
          icon: 'md-list-box',
          title: '菜品管理'
        },
        component: () => import('@/view/myShop/food.vue')
      },
      {
        path: 'myOrder',
        name: '我的订单',
        meta: {
          icon: 'md-megaphone',
          title: '我的订单'
        },
        component: () => import('@/view/myShop/myOrder.vue')
      },
      {
        path: 'mylog',
        name: '操作日志',
        meta: {
          icon: 'md-albums',
          title: '操作日志'
        },
        component: () => import('@/view/myShop/log.vue')
      }
    ]
  },
  {
    path: '/order',
    name: 'order',
    meta: {
      hideInBread: true,
      access: ['admin']
    },
    component: Main,
    children: [
      {
        path: 'orderlist',
        name: '订单管理',
        meta: {
          icon: 'md-clipboard',
          title: '订单管理'
        },
        component: () => import('@/view/order/list.vue')
      }
    ]
  },
  {
    path: '/log',
    name: 'log',
    meta: {
      hideInBread: true,
      access: ['admin']
    },
    component: Main,
    children: [
      {
        path: 'loglist',
        name: '系统日志',
        meta: {
          icon: 'md-paper',
          title: '系统日志'
        },
        component: () => import('@/view/log/list.vue')
      }
    ]
  },
  // {
  //   path: '/message',
  //   name: 'message',
  //   component: Main,
  //   meta: {
  //     hideInBread: true,
  //     hideInMenu: true
  //   },
  //   children: [
  //     {
  //       path: 'message_page',
  //       name: 'message_page',
  //       meta: {
  //         icon: 'md-notifications',
  //         title: '消息中心'
  //       },
  //       component: () => import('@/view/single-page/message/index.vue')
  //     }
  //   ]
  // },
  {
    path: '/401',
    name: 'error_401',
    meta: {
      hideInMenu: true
    },
    component: () => import('@/view/error-page/401.vue')
  },
  {
    path: '/500',
    name: 'error_500',
    meta: {
      hideInMenu: true
    },
    component: () => import('@/view/error-page/500.vue')
  },
  {
    path: '*',
    name: 'error_404',
    meta: {
      hideInMenu: true
    },
    component: () => import('@/view/error-page/404.vue')
  }
]
